#ifndef __TGRXDICTIONARY_H__
#define __TGRXDICTIONARY_H__

#if _MSC_VER > 1000
#pragma once
#endif

class TGRX_API TGRxDictionary : public TGRxObject  
{
public:

	TGRX_DECLARE_MEMBERS(TGRxDictionary)

public:

    virtual TGRxObject*		at(const char* pszKey) const = 0;
    virtual TGRxObject*		atPut(const char* pszKey, TGRxObject* pObject) = 0;

	virtual POSITION		getStartPosition() const = 0;
	virtual void			getNextAssoc(POSITION& rNextPosition, CString& sKey, void*& rValue) const = 0;

    virtual BOOL			resetpszKey(const char* pszOldKey, const char* pszNewKey) = 0;
    virtual TGRxObject*		remove(const char* pszKey) = 0;
	
    virtual BOOL			has(const char* pszEntryName) const = 0;
    virtual long			numEntries() const = 0;
		
    virtual BOOL			deletesObjects() = 0;
};

#endif // __TGRXDICTIONARY_H__
